#ifndef _HAVE_PROTOCOL_H
#define _HAVE_PROTOCOL_H

#include <stdint.h>
#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

struct pdu;
typedef struct pdu pdu_t;

struct protocol;
typedef struct protocol protocol_t;

struct pdu{
};

enum protocol_type {
    proto_unknow,
    proto_numbers,
};
typedef enum protocol_type protocol_type;

void protocol_read(protocol_t *proto, pdu_t *pdu);
void protocol_write(protocol_t *proto, protocol_type proto_type, uint8_t *pdubuf, size_t len);
void protocol_register(protocol_t *proto);
void protocol_unregister(protocol_t *proto);
protocol_type protocol_check_protocol(protocol_t *proto, uint8_t *pdubuf, size_t len);


#ifdef __cplusplus
}
#endif
#endif /* _HAVE_PROTOCOL_H */
